import asyncio
import re
import emoji

async def preprocess_text(text: str) -> str:
    '''
    文本清洗
    '''
    # 去除 Markdown 语法（如 **加粗**）
    text = re.sub(r"\*\*(.*?)\*\*", r"\1", text)

    # 删除 Markdown 换行格式 `\n`
    # text = text.replace("\\n", " ")

    # 删除所有标点符号（保留中文逗号句号可选）
    # text = re.sub(r"[\"\'\(\)\[\]【】\-“”‘’<>《》,?!~`；;:：，|、（）？。/！]", ",", text)

    # 替换编号列表为自然断句
    # text = re.sub(r"\d+\.", "", text)  # 删除“1.”、“2.”之类
    # text = re.sub(r"\s{2,}", " ", text)  # 多空格合并为一个

    # 添加适当停顿符（可选）
    # text = re.sub(r"\s{1,}", " ", text)  # 每段之间加入“，”实现停顿效果

    text=emoji.replace_emoji(text, replace='')
    # print(text.strip())

    return text.strip()

# asyncio.run(preprocess_text("根据《报废机动车回收拆解企业技术规范》（GB22128），“五大总成”具体指：  \n1. **发动机**：汽车的动力核心，负责将燃料能量转化为机械动力；  \n2. **变速器**（变速箱）：用于调节动力输出比，实现不同速度和扭矩的匹配；  \n3. **驱动桥**：连接变速箱与车轮，负责传递动力并支撑车辆重量；  \n4. **转向系统**：包含方向盘、转向拉杆等，用于控制车辆行驶方向；  \n5. **行驶系统**：涵盖车轮、悬架等，负责支撑整车、缓冲路面震动并保证行驶稳定性。  \n\n这些部件在拆解时需单独处理：符合再制造条件的可出售给资质企业，否则作为废金属回收。是否需要进一步了解某一部分的详细功能？"))